#include <FHT.h>

// FHT.H externs
uint8_t fht_oct_out[(LOG_N)]; // FHT octave output magintude buffer
int fht_input[(FHT_N)]; // FHT input data buffer
PROGMEM  prog_int16_t _window_func[]  = {
  #if (FHT_N ==  256)
    #include <hann_256.inc>
  #elif (FHT_N ==  128)
    #include <hann_128.inc>
  #elif (FHT_N ==  64)
    #include <hann_64.inc>
  #elif (FHT_N ==  32)
    #include <hann_32.inc>
  #elif (FHT_N ==  16)
    #include <hann_16.inc>
  #endif
  };

PROGMEM  prog_uint8_t _reorder_table[]  = {
  #if (FHT_N == 256)
    #include <256_reorder.inc>
  #elif (FHT_N == 128)
    #include <128_reorder.inc>
  #elif (FHT_N == 64)
    #include <64_reorder.inc>
  #elif (FHT_N == 32)
    #include <32_reorder.inc>
  #elif (FHT_N == 16)
    #include <16_reorder.inc>
  #endif
  };

PROGMEM  prog_uint8_t _log_table[]  = {
  #include <decibel.inc>
};

PROGMEM  prog_int16_t _cas_constants[]  = {
#if (FHT_N ==  256)
  #include <cas_lookup_256.inc>
#elif (FHT_N ==  128)
  #include <cas_lookup_128.inc>
#elif (FHT_N ==  64)
  #include <cas_lookup_64.inc>
#elif (FHT_N ==  32)
  #include <cas_lookup_32.inc>
#elif (FHT_N ==  16)
  #include <cas_lookup_16.inc>
#endif
};
